The present invention relates to a data unit sending means and a method for controlling a data unit sending means.
In the field of communications, the concept of packet exchange is well known. A data packet is a given length of data whose structure is determined by a given protocol, i.e. a set of rules governing the exchange, manipulation and interpretation of such packets. Depending on the protocol, different names are used, such as frame, packet, etc. A more generic term is protocol data unit (PDU), and the following description shall use the term data unit for simplicity.
The process of sending data via a packet exchange typically comprises a plurality of protocols, which are arranged in a hierarchy. A schematic example of such a hierarchy is shown in FIG. 6. The example of FIG. 6 shows three layers, a higher layer referred to as L3, a layer below L3 referred to as L2_ARQ, and a lowest layer L1. In fact, the terms L3, L2_ARQ and L1 refer to protocols associated with these layers. As an example, L3 can be the internet protocol IP, L2_ARQ may be the radio link protocol RLP known from GSM, and L1 can be any suitable physical layer protocol. In accordance with the concept of layering, data units associated with a higher layer are passed to a lower layer, e.g. from L3 to L2-ARQ in example of FIG. 6, where the lower layer protocol embeds the higher layer data units. The term xe2x80x9cembeddingxe2x80x9d may refer to encapsulation or segmentation. In the case of encapsulation, a higher layer data unit is placed into one lower layer data unit, whereas in the case of segmentation, the higher layer data unit is segmented into smaller pieces of data, each piece being placed into a lower layer data unit.
One of the important aspects of protocol layering is that in a data communication, i.e. in a process where a given amount of data is being sent from a source to a destination, the overall path that is associated with a highest layer comprises sublinks associated with the lower layer protocols, where the endpoints of a protocol of a given layer are called peers of said protocol. This concept is well known in the art and does not need to be described further here. Reference is made e.g. to the book xe2x80x9cTCP/IP, The Protocolsxe2x80x9d by W. R. Stevens, Edison Wesley 1996.
Specific problems in connection with the transmission of data occur in radio networks, due to the fact that radio links typically have a poorer transmission quality than fixed lines. For the purpose of explanation, FIG. 3 shows the architecture for a generic cellular communication system. This system consists of a core network (CN) 100, and a part referred to as a radio access network (RAN) 110. The radio access network is divided into controller nodes 101 and base transceiver stations (BTS) 102. The hierarchy of the network is such that the core network is connected to several controllers and the controllers are connected to several base stations. The base stations 102 communicate with mobile stations (MS) 103.
A typical problem that will occur when sending data in the up-link direction (i.e. from a mobile station 103 to a base transceiver station 102) or in the down-link direction (from the base transceiver station 102 to a mobile station 103) is that errors are introduced over the radio interface. Such errors are typically due to changes in the transmission quality, e.g. because the mobile station 103 moves around. Another potential situation for data loss is a handover of a communication between a given mobile station 103 and a given base transceiver station 102 to another base transceiver station, when the mobile station moves into another cell. Both situations, namely a specific error condition or a handover lead to the necessity of a link reset, in the course of which all data in the send buffer of the sending peer of the radio link is purged to thereby establish a xe2x80x9cclean slatexe2x80x9d, such that communication may begin anew in a state unambiguously defined for both sender and receiver.
Due to the error characteristics of the radio interface, a so-called ARQ protocol (ARQ=Automatic Repeat reQuest) can optionally be executed between the mobile station and the radio access network to reduce the residual error rate. An ARQ protocol comprises the function of acknowledging the correct receipt of data units by the receiving peer, where the sending peer implements mechanisms for retransmitting such data units that were not correctly received. In this way, the complete transmission of data is secured. It may be noted that the use of an ARQ mechanism can be an option associated with a specific mode, i.e. that not every data unit needs to be sent with the ARQ mechanism activated. As an example, in connection with known protocols there are known a so-called numbered mode (or I-mode) in which ARQ is activated, and a so-called unnumbered mode, in which no acknowledgment and consequently no retransmission occurs. The first mode is advantageous for data where secure transmission is a priority, the second mode is advantageous for data where delay sensitivity is a priority and data loss is not so much of a problem, such as real-time voice-over-Internet data.
In the following, two known types of solutions for securing user data from being lost in case of a handover of a ARQ protocol communication between different network nodes will be described.
According to a first solution, a protocol state transfer is enacted, i.e. when a handover is performed, the whole state including state variables and buffers is moved from the ARQ entity in the RAN (i.e. the peer) to the new network node. Using this mechanism, the ARQ entity in the mobile station does not need to know when a handover occurs. Such a solution is described e.g. in R. Cohen, B. Patel and A. Segall, xe2x80x9cHandover in a Micro-Cell Packet Switched Mobile Networkxe2x80x9d, ATM Journal of Wireless Networks, Volume 2, no. 1, 1996, pages 13-25, or in S. Powel Ayanoglu, T. F. La Porta, K. K. Sabdani, R. D. Gitlin, xe2x80x9cAIRMAIL: A link layer protocol for wireless networksxe2x80x9d, ATM/Baltzer Wireless Networks Journal, Volume 1, 1995, pages 47-60.
The benefits of this solution are that no unnecessary re-transmission of user data over the radio interface occurs, and the ARQ protocol in the mobile station can be unaware of the handover, which makes the implementation less expensive.
The disadvantage of this solution is, that it is limited to handle intra-system handover. This means that both network nodes between which the handover is executed must operate in accordance with the same protocol. If a core network is connected to multiple radio access networks of different type, which do not use exactly the same ARQ protocol, this solution cannot be used, because an inter-system handover is necessary. Such situations will become more common in the future.
A different solution for securing user data is that of providing an additional ARQ protocol. In this case, one ARQ protocol is run between the mobile station and the radio access network (the base station controller node) and takes care of errors encountered of the radio interface. The second ARQ protocol is run between the mobile station and the core network. In case of data loss due to resetting the link between the mobile station and the base station controller (be it due to an error condition or a handover), this second ARQ protocol will perform a re-transmission. As an example, in GPRS (General Radio Packet Service) the first ARQ protocol is called RLC (Radio Link Control Protocol) and the second ARQ protocol is called LLC (Link Layer Control Protocol).
Although such an arrangement enables the handling of inter-system handovers, it has disadvantages. First of all, additional radio resources are consumed due to the overhead introduced by the second ARQ protocol. As an example, in GPRS the overhead per transmitted L3 data unit introduced by the LLC protocol is in the order of 7 bytes. Compared to the size of a Van Jacobson compressed TCP acknowledgment, which is under 10 bytes, the size will almost be doubled when transmitting TCP acknowledgments (in a L3 data unit). Also, the implementation of two ARQ protocols in the mobile station leads to higher costs in terms of memory and processing power.
The object of the present invention is to provide a data sending means and a corresponding control method that secure data transmission, but which are applicable to intra-system handovers and inter-system handovers without adding unnecessary overhead. It may be noted that this object is not restricted to radio networks, because the avoidance of band-width waste is advantageous in any network. However, radio networks are a preferred application of the invention to be described in the following.
This object is achieved by the subject matter described in the independent claims. Advantageous embodiments are described in the dependent claims.
In accordance with the present invention, a data unit sending means that operates in accordance with an ARQ protocol, referred to generically as L2_ARQ in the following, embeds higher layer data units of a protocol L3. L3 data units are discriminated, the L2_ARQ data units in which L3 data units are embedded are associated with the L3 data units embedded therein, and the contents of the send buffer are managed in accordance with the association. The process of handling the data units will be explained in a general way in connection with FIG. 1. The L3 data units or PDUs are received (step S1) and then discriminated (step S2). Discrimination means that individual L3 data units are identified such that one may be discriminated from the other. It may be noted that this feature departs from the conventional approach of making separate protocol layers completely transparent to one another, because in the present invention the L2_ARQ protocol is made xe2x80x9cintelligentxe2x80x9d in the sense that it may discriminate and differentiate individual L3 data units.
After the discrimination, the L3 data units are embedded (i.e. encapsulated or segmented) into one or more L2_ARQ brought into association with the higher layer L3 data data units (step S3). Then, the L2_ARQ data units are units that they form. In other words, a record is kept of which L2 ARQ data units belong to which L3 data unit.
Then, the L2_ARQ data units are placed into a send buffer, where the sending to the receiving L2_ARQ peer is performed in accordance with any suitable or required flow control method. For example, a widely used flow control method is that of window-based flow control. The precise method and its details will be determined by the specific L2_ARQ protocol, such that this is of no importance to the present invention.
In accordance with the present invention, however, the management of the send buffer is performed in accordance with the association between the L2_ARQ data units and the higher layer L3 data units that have been embedded in the L2_ARQ data units. The term management refers to how the contents of the buffer is controlled, i.e. under which conditions which data units are deleted.
It may be noted that the order of steps indicated in FIG. 1 is only an example, and the basic principle of the invention as specified by the claims may be implemented in any suitable way.
By managing the contents of the send buffer, i.e. controlling the deleting of data units therein in accordance with the association between L2_ARQ data units and the higher layer L3 data units embedded therein, it is possible to achieve data transmission security without two layers of ARQ protocols and nonetheless enabling inter-system handover. This is due to the fact that by managing the buffer in accordance with the association of L3 data units and L2_ARQ data units, any loss of L3 data units can be avoided at the L2_ARQ level. As a consequence, an ARQ mode above the L2_ARQ level is superfluous. At the same time, as the loss of data is avoided by a mechanism implemented around the send buffer, an inter-system handover poses no problem.
It should be noted that the L2_ARQ protocol does not necessarily send all data units in an ARQ mode. Much rather, the invention is applicable to any protocol, i.e. also such protocols that provide transmission modes in which no re-transmission occurs. However, according to a preferred embodiment, the buffer management for such L2_ARQ data units that are sent in an ARQ mode is performed in such a way that a given L2_ARQ data unit is only deleted from the send buffer means if acknowledgments for all L2_ARQ data units associated with the same L3 unit as said given L2_ARQ data unit have been received. In this way, all L2_ARQ data units belonging to one L3 data unit are held in the send buffer until the last L2_ARQ data unit associated with that L3 data unit has been acknowledged, i.e. until all L2_ARQ data units associated with a particular L3 data unit have been acknowledged.
Then, in the event of a reset, i.e. a resetting of the numbering of L2_ARQ data units, or a handover, the L2_ARQ data units belonging to the last L3 data unit for which not all Lxe2x80x3-ARQ data units have been acknowledged will simply be sent again. In this way, a part of said L3 data unit may be sent twice, but in any case the L3 data unit is sent completely, such that no retransmission on the L3 level or higher (e.g. TCP) is necessary. In the event of a handover, the L3 data units in the send buffer may simply be transferred to the new node, regardless of said new node operating according to the same L2_ARQ protocol or a different one. In other words, an inter-system handover is no problem, because no other information besides the buffer contents (in terms of L3 data units), such as state variables, etc., must be handed over.